﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.Runtime.Serialization;

namespace Shlook.Common
{
    [ServiceContract]
    public interface IChatServer
    {
        [OperationContract]
        void Connect(User user);

        [OperationContract]
        [FaultContract(typeof(ChatFault))]
        void ChangeStatus(string userId, string newStatus);

        [OperationContract]
        void Disconnect(string userId);

        [OperationContract]
        User[] GetUsers();

        [OperationContract]
        [FaultContract(typeof(ChatFault))]
        void SendMessage(ChatMessage[] messages);
    }
}
